Documentation
Getting started
Get started in minutes
Tarantool
In-memory computing platform
Data Grid
Enterprise data services with ease
Tarantool Cluster Manager
Cluster Management for Tarantool
Modules
Extensions for the database
Connectors
Language APIs
Enterprise Edition
Advanced support and features
Tarantool Queue Enterprise (MQ)
Distributed in‑memory message queuing system
Tarantool DataBase
NoSQL DBMS
Tarantool DB (RESP)
RESP endpoint
Tarantool Clusters Federation
Cross data center replication (xDCR) module
Ansible Tarantool Enterprise
Deployment and maintenance automation
Tarantool Column Store
In-memory column-oriented HTAP DBMS
Tarantool CDC
Tarantool-based Change Data Capture
Sign in
Sign in
Sign up
Download
En
Ru
Sign in
Sign up
Download
Products
Tarantool Еnterprise
Tarantool Cloud Edition
Tarantool Data Grid
Tarantool Kubernetes Operator
Tarantool CDC
Tarantool Clusters Federation
Tarantool DataBase
Object Storage
Enterprise vs Community
Documentation
Architectural patterns
Tarantool
Cartridge
Data Grid
Connectors
Modules
Tarantool Enterprise
How to guides
Services
Premium support
Learn
Solutions
Architecture
Company
Contacts
Careers
Clients
Version:
1.6
latest (3.x)
2.11
1.10
Overview
An application server together with a database manager
Database features
User’s Guide
Preface
How to read the documentation
Getting in touch with the Tarantool community
Conventions used in this manual
Getting started
Using a Docker image
Launching a container
Attaching to Tarantool
Creating a database
Stopping a container
Using a binary package
Starting Tarantool
Creating a database
Connecting remotely
Database
Data model
Space
Tuple
Index
Data types
Lua vs MsgPack
Indexed field types
Persistence
Operations
Data operations
Index operations
Complexity factors
Transaction control
Threads, fibers and yields
Cooperative multitasking
Transactions
Implicit yields
Access control
Users
Passwords
Owners and privileges
Roles
Sessions and security
Triggers
Limitations
Application server
Launching an application
Launching in Docker
Launching a binary program
Creating an application
Modules, rocks and applications
Avro schemas
Bootstrapping a database
GIS
Index iterators
Fibers
Logging
nginx
Non-blocking IO
Installing a module
Installing a module from a repository
Installing a module from deb/rpm
Contributing a module
Contributing a module in Lua
Contributing a module in C
Cookbook recipes
hello_world.lua
console_start.lua
fio_read.lua
fio_write.lua
ffi_printf.lua
ffi_gettimeofday.lua
ffi_zlib.lua
ffi_meta.lua
print_arrays.lua
count_array.lua
count_array_with_nils.lua
count_array_with_nulls.lua
count_map.lua
swap.lua
class.lua
garbage.lua
fiber_producer_and_consumer.lua
socket_tcpconnect.lua
socket_tcp_echo.lua
getaddrinfo.lua
socket_udp_echo.lua
http_get.lua
http_send.lua
http_server.lua
http_generate_html.lua
Server administration
Instance configuration
Instance file
tarantoolctl
configuration file
Starting/stopping an instance
Running Tarantool locally
Logs
Security
Server introspection
Using Tarantool as a client
Executing code on an instance
Health checks
Daemon supervision
Server signals
Automatic instance restart
Core dumps
Stack traces
Debugger
Disaster recovery
Master-replica
Master-master
Data loss
Backups
Hot backup (memtx)
Hot backup (general idea)
Continuous remote backup (memtx)
Continuous backup (memtx)
Upgrades
Upgrading a Tarantool database
Upgrading a Tarantool instance
Upgrading Tarantool in a replication cluster
Notes for operating systems
Mac OS
FreeBSD
Bug reports
Replication
Replication architecture
Setting up a master
Setting up a replica
Recovering from a degraded state
Quick startup of a new simple two-instance replica set
Monitoring a replica’s actions
Preventing duplicate actions
Master-master replication
All the “What If?” questions
Hands-on replication tutorial
Connectors
Protocol
Packet example
Setting up the server for connector examples
Java
Go
R
Erlang
Perl
PHP
Python
Node.js
C#
C
Example 1
Example 2
Interpreting function return values
FAQ
Reference
Built-in modules reference
Module
box
Submodule
box.cfg
Submodule
box.index
Example showing use of the box functions
Example showing a user-defined iterator
Submodule
box.index
with index type = RTREE for spatial searches
Submodule
box.info
Function
box.once
Submodule
box.schema
Submodule
box.session
Submodule
box.slab
Submodule
box.space
Example: use box.space functions to read _space tuples
Example: use box.space functions to organize a _space tuple
Submodule
box.stat
Function
box.snapshot
Submodule
box.tuple
Example
Functions for transaction management
Module
clock
Module
console
Module
crypto
Incremental methods in the crypto module
Getting the same results from digest and crypto modules
Module
csv
Module
digest
Incremental methods in the digest module
Example
Module
errno
Submodule
box.error
Module
fiber
Example Of Fiber Use
Submodule
fiber-ipc
Channel
Example
Module
fio
Common pathname manipulations
Common file manipulations
FIO constants
Module
fun
Module
json
Configuration settings
Module
log
Example
Module
msgpack
Example
Module
net.box
Example showing use of most of the net.box methods
Module
os
Module
pickle
Module
socket
Examples
Use of a TCP socket over the Internet
Use of a UDP socket on localhost
Use tcp_server to accept file contents sent with socat
Module
strict
Module
tap
Example
Module
tarantool
Module
uuid
Example
Module
uri
Module
yaml
Example
Miscellaneous
Database error codes
Handling errors
Rocks reference
SQL DBMS Modules
MySQL Example
Installation
Connecting
How to ping
Executing a statement
Closing connection
Example
PostgreSQL Example
Installation
Connecting
How to ping
Executing a statement
Closing connection
Example
Module
expirationd
Module
shard
Example: shard.init syntax for one shard
Example: shard.init syntax for three shards
Example: Shard, Minimal Configuration
Example: Shard, Scaling Out
Module
tdb
Debugger Commands
Example Session
Configuration reference
Command options
URI
Initialization file
Configuration parameters
Basic parameters
Configuring the storage
Snapshot daemon
Binary logging and snapshots
Replication
Networking
Logging
Logging example
Local hot standby
Utility
tarantoolctl
Tips on Lua syntax
Tutorials
Lua tutorials
Insert one million tuples with a Lua stored procedure
Configure
Delimiter
Create a function that returns a string
Create a function that calls another function and sets a variable
Modify the function so it returns a one-letter random string
Modify the function so it returns a ten-letter random string
Make a tuple out of a number and a string
Modify main_function to insert a tuple into the database
Modify main_function to insert a million tuples into the database
Sum a JSON field for all tuples
Indexed pattern search
C tutorial
C stored procedures
Release Notes
Version 1.6
Contributor’s Guide
C API reference
Module
box
Module
clock
Module
coio
Module
error
Module
fiber
Module
index
Module
latch
Module
lua/utils
Module
say
(logging)
Module
schema
Module
trivia/config
Module
tuple
Module
txn
Internals
Tarantool’s binary protocol
Notation in diagrams
Greeting packet
Unified packet structure
Authentication
Requests
Response packet structure
Replication packet structure
XLOG / SNAP
Data persistence and the WAL file format
The snapshot file format
The recovery process
Server startup with replication
Build and contribute
Building from source
Building documentation
Release management
How to make a minor release
Guidelines
Developer guidelines
How to work on a bug
Documentation guidelines
Markup issues
Wrapping text
Formatting code snippets
Using separated links
Creating labels for local links
Making comments
Language and style issues
US vs British spelling
Instance vs server
Examples and templates
Module and function
Module, class and method
C Style Guide
General guidelines
Commenting style
Header files
Allocating memory
Other
Linux kernel coding style
Chapter 1: Indentation
Chapter 2: Breaking long lines and strings
Chapter 3: Placing Braces and Spaces
Chapter 3.1: Spaces
Chapter 4: Naming
Chapter 5: Typedefs
Chapter 6: Functions
Chapter 7: Centralized exiting of functions
Chapter 8: Commenting
Chapter 9: You’ve made a mess of it
Chapter 10: Kconfig configuration files
Chapter 11: Data structures
Chapter 12: Macros, Enums and RTL
Chapter 13: Printing kernel messages
Chapter 14: Allocating memory
Chapter 15: The inline disease
Chapter 16: Function return values and names
Chapter 17: Don’t re-invent the kernel macros
Chapter 18: Editor modelines and other cruft
Appendix I: References
Python Style Guide
Introduction
A Foolish Consistency is the Hobgoblin of Little Minds
Code lay-out
Indentation
Tabs or Spaces?
Maximum Line Length
Blank Lines
Encodings (PEP 263)
Imports
Whitespace in Expressions and Statements
Pet Peeves
Other Recommendations
Comments
Block Comments
Inline Comments
Documentation Strings
Version Bookkeeping
Naming Conventions
Descriptive: Naming Styles
Prescriptive: Naming Conventions
References
Copyright
Search results: 0
No search query entered.
Found what you were looking for?
Yes
No
Feedback